<script setup>
	import { onLaunch } from '@dcloudio/uni-app';
	import { createSSRApp } from 'vue';
	onLaunch(() => {
		upateApp(); // 检测小程序版本是否需要更新
	});
	// 检测小程序更新版本
	let upateApp = () => {
		// 获取小程序更新机制兼容
		if (uni.canIUse('getUpdateManager')) {
			const updateManager = uni.getUpdateManager();
			// 检查是否有新版本发布
			updateManager.onCheckForUpdate(res => {
				if (res.hasUpdate) {
					//小程序有新版本，则静默下载新版本，做好更新准备
					updateManager.onUpdateReady(() => {
						uni.showModal({
							title: '更新提示',
							confirmColor: '#3178FF',
							cancelColor: '#606266',
							content: '新版本已经准备好，是否重启应用？',
							success: item => {
								if (item.confirm) {
									//新的版本已经下载好，调用 applyUpdate 应用新版本并重启
									updateManager.applyUpdate();
								} else if (item.cancel) {
									//如果需要强制更新，则给出二次弹窗，如果不需要，则这里的代码都可以删掉了
									uni.showModal({
										title: '温馨提示',
										confirmColor: '#3178FF',
										content: '我们已经做了新的优化，请及时更新哦~',
										showCancel: true, //隐藏取消按钮，也可显示，取消会走res.cancel，然后从新开始提示
										success: res => {
											//第二次提示后，强制更新
											if (res.confirm) {
												// 新的版本已经下载好，调用 applyUpdate 应用新版本并重启
												updateManager.applyUpdate();
											} else if (res.cancel) {
												//重新回到版本更新提示
											}
										}
									});
								}
							}
						});
					});
					// 新的版本下载失败
					updateManager.onUpdateFailed(() => {
						uni.showModal({
							title: '温馨提示',
							confirmColor: '#3178FF',
							cancelColor: '#606266',
							content: '新版本已经上线，请您删除当前小程序，重新搜索打开'
						});
					});
				}
			});
		} else {
			// 提示用户在最新版本的客户端上体验
			uni.showModal({
				title: '温馨提示',
				confirmColor: '#3178FF',
				cancelColor: '#606266',
				content: '当前微信版本过低，可能无法使用该功能，请升级到最新版本后重试。'
			});
		}
	};
</script>

<style lang="scss">
	/*每个页面公共css */
	/* 注意要写在第一行，同时给style标签加入lang="scss"属性 */
	@import 'uview-plus/index.scss';

	page {
		line-height: 1;
		font-family: 'Helvetica Neue', Helvetica, Tahoma, Arial, 'PingFang SC', 'Hiragino Sans GB', 'Heiti SC', 'Microsoft YaHei', 'WenQuanYi Micro Hei', sans-serif;
		// -webkit-text-size-adjust: none;
		font-size: 30rpx;
		color: #333;
		background-color: #f5f5f5;
		letter-spacing: 0.3rpx;
		padding-bottom: constant(safe-area-inset-bottom);
		padding-bottom: env(safe-area-inset-bottom);
	}

	view {
		margin: 0;
		padding: 0;
		box-sizing: border-box;
	}

	.uni-picker-container .uni-picker .uni-picker-action-confirm {
		color: #2954FD !important
	}
</style>